package com.gome.han.bigdata.mr._002_01_wordcount;


import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

/**
* @author hanpeng
* @version 创建时间：2020年11月21日 下午3:31:12
* @ClassName 类名称
* @Description 类描述
* LongWritable  是hadoop 的数据类型 对应java 中的long
* LongWritable, Text, Text, IntWritable
* 输入类型  输出类型
* LongWritable 输入类型 表示文件的行号 
* Text 表示输入类型 具体为一行数据
* Text 表示输出的key的数据类型
* IntWritable表示  输出的value 的数据类型
* 
*/
public class WordcountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{
	private Text outKey=new Text();
	private IntWritable outValue=new IntWritable(1);
	@Override
	protected void map(LongWritable key, Text value, Context context)
			throws IOException, InterruptedException {
		System.out.println(key.toString());
		//表示一行数据
		String line = value.toString();
		String[] words = line.split(" ");
		for (String word : words) {
			outKey.set(word);
			context.write(outKey, outValue);
		}
	}

	
	

	
}
